home *** CD-ROM | disk | FTP | other *** search
Wrap
/* */ /* ANIM-EXTENDER v1.1c */ /* */ /* by Carmen Rizzolo */ /* */ Options Results Address 'OpalPaint_Rexx' Version Parse Var Result VerThingy ' ' OpalName ' ' VersionNum ' ' DateNum If Left(VersionNum,3) < 2.3 Then Do AskBool 'It appears that you are using OpalPaint v' || VersionNum || '\n\nAnim-Extender requires OpalPaint v2.3 or higher\n\nShall I continue?' If Result = 0 Then Do Okay 'Exiting...' Exit End End AnimPathDefault = "Pathname" Root = 'pic.' Zero = '0' Corrector = 0 Menu DISABLE Call ConfirmAnimExtender() Call GetAnimPath() Call GetStartFrame() Call GetEndFrame() Call VerifyFrames() Call GetExtendValues() If ExtFirst > 0 | ExtLast > 0 Then Call MakeExtWorkDrawer() If ExtFirst > 0 Then Call DoFirstExtend() If ExtLast > 0 Then Call DoLastExtend() If ExtFirst > 0 | ExtLast > 0 Then Call DeleteExtWorkDrawer() Call AllDone() Exit ConfirmAnimExtender: Address 'OpalPaint_Rexx' ReqBuild '420 130 " "' AddBox '10 10 400 110' AddBox '15 15 5 5 Raised' AddBox '-20 15 5 5 Raised' AddBox '15 -20 5 5 Raised' AddBox '-20 -20 5 5 Raised' AddBox '47 -53 106 31' AddBox '-153 -53 106 31' AddHeading 'CenterX 20 "Anim Extender v1.1c"' AddHeading 'CenterX 35 "an Arexx script for OpalPaint v2.3 or higher"' AddHeading 'CenterX 45 "by Carmen Rizzolo"' AddGadget 'Button YesButton 50 -25 Medium "Continue"' AddGadget 'Button NoButton -50 -25 Medium "Quit"' Request NoOK NoCancel GadgetStatus NoButton If Result = 1 Then Do Exit End Return GetAnimPath: Address 'OpalPaint_Rexx' PathWarn = 1 Do Forever LeaveBool = 1 ReqBuild '450 161 "Choose animation pathname"' AddBox '10 23 430 105' AddText 'CenterX 29 "NOTE: Pathnames must end with a / character"' AddText 'CenterX 50 "Pathname"' AddGadget 'String ReqAnimPathName CenterX 60 Large' AddGadget 'Button SourceReq 25 60 80 20 " "' AddBox '22 57 86 26' AddHeading '29 67 "REQUESTOR"' AddGadget 'Button OKButton CenterX -5 Medium "Proceed"' InitGadget 'ReqAnimPathName ' || AnimPathDefault Request NoOK NoCancel GadgetStatus ReqAnimPathName AnimPathName = Result GadgetStatus SourceReq If Result = 1 Then Do If PathWarn = 1 Then Do ReqBuild '369 76 " "' AddBox '5 5 358 65' AddText 'CenterX 10 "NOTE: You are about to use a file requestor"' AddText 'CenterX 20 "to choose a PATHNAME. Do not select any"' AddText 'CenterX 30 "filenames. Get the pathname only!"' AddGadget 'Button Okeedoke CenterX 40 Medium "Proceed"' Request NoOK NoCancel PathWarn = 0 End AskFileName 'Get SOURCE animation PATHNAME' "OpalPaint:" '' AnimPathName = Result End If Right(AnimPathName,1) ~= '/' Then AnimPathName = AnimPathName || '/' AnimPathDefault = AnimPathName Finder = Exists(AnimPathName) If Finder = 1 Then Leave If Finder = 0 Then Okay 'ERROR: Drawer not found! Try agian...' End Return AnimPathName GetStartFrame: Address 'OpalPaint_Rexx' ReqBuild '210 97 "Enter Start Frame Number"' AddBox '5 25 199 39' AddGadget 'Integer StartGad CenterX 35 50 10 1 9999' AddGadget 'Button OkayButton CenterX -5 Medium "Proceed"' Request NoOK NoCancel GadgetStatus StartGad StartFrame = Result Return StartFrame GetEndFrame: Address 'OpalPaint_Rexx' ReqBuild '210 97 "Enter Final Frame Number"' AddBox '5 25 199 39' AddGadget 'Integer EndGad CenterX 35 50 10 ' || StartFrame || ' 9999' AddGadget 'Button OkayButton CenterX -5 Medium "Proceed"' InitGadget EndGad (StartFrame + 1) Request NoOK NoCancel GadgetStatus EndGad EndFrame = Result Return EndFrame VerifyFrames: Address 'OpalPaint_Rexx' Menu ENABLE DisplayStatus 'Verify...' Do A = StartFrame to EndFrame Call GetIFF() Finder = Exists(AnimPathName || IFF) If Finder = 0 Then Do Okay 'FATAL ERROR: ' || AnimPathName || IFF || ' not found!\n\nExiting...' Exit End End Menu DISABLE Return GetExtendValues: Address 'OpalPaint_Rexx' ReqBuild '420 189 "Anim Extender"' AddBox '5 25 409 74' AddText 'CenterX 30 "Extend First frame"' AddGadget 'Check InsertGad 14 39 Medium' AddText 'Right InsertGad 5 6 "Insert"' AddGadget 'Check AppendGad 93 39 Medium' AddText 'Right AppendGad 5 6 "Append"' AddGadget 'HProp ExtFirstSlider 14 65 360 25 0 175 1' AddBox '5 102 409 54' AddText 'CenterX 107 "Extend Last frame"' AddGadget 'HProp ExtLastSlider 14 122 360 25 0 175 1' AddGadget 'Button OkayButton CenterX -5 Medium "Proceed"' InitGadget 'InsertGad 1' MutualEx InsertGad AppendGad Request NoOK NoCancel GadgetStatus ExtFirstSlider ExtFirst = Result GadgetStatus InsertGad If Result = 1 Then InsertBool = 1 GadgetStatus AppendGad If Result = 1 Then InsertBool = 0 GadgetStatus ExtLastSlider ExtLast = Result Return ExtFirst ExtLast InsertBool MakeExtWorkDrawer: Address Command Finder = Exists('Ram:ExtWork/') If Finder = 0 Then Do 'Makedir Ram:ExtWork' End Return GetIFF: /* Get IFF Variables */ Iff = Root || Zero || Zero || Zero || A If A < 10000 & A > 999 Then Iff = Root || A If A < 1000 & A > 99 Then Iff = Root || Zero || A If A < 100 & A > 9 Then Iff = Root || Zero || Zero || A Return IFF DoFirstExtend: Address 'OpalPaint_Rexx' Menu ENABLE DisplayStatus 'Extending 1' Address Command A = StartFrame Call GetIFF() 'Copy ' || AnimPathName || IFF || ' Ram:ExtWork QUIET' If InsertBool = 1 Then Do AA = EndFrame Do Forever A = (AA + ExtFirst) Call GetIFF() IFF2 = IFF A = AA Call GetIFF() Finder = Exists(AnimPathName || IFF2) If Finder = 1 Then Do Address 'OpalPaint_Rexx' Okay 'FATAL ERROR! I cannot rename ' || IFF || ' to ' || IFF2 || '\nbecause ' || IFF2 || ' already exists!\n\nIt appears that the last frame number you chose is not\nthe last of the frames in your anims drawer.\n\nExiting...' Exit End 'Rename ' || AnimPathName || IFF || ' ' || AnimPathName || IFF2 || ' QUIET' AA = AA - 1 If AA = (StartFrame - 1) Then Leave End Do AA = StartFrame to (StartFrame + ExtFirst) A = AA Call GetIFF() 'Copy Ram:ExtWork/' || IFF || ' ' || AnimPathName || ' QUIET' A = (AA + 1) Call GetIFF() IFF2 = IFF A = AA Call GetIFF() 'Rename Ram:ExtWork/' || IFF || ' Ram:ExtWork/' || IFF2 || ' QUIET' End 'Delete Ram:ExtWork/' || IFF2 || ' QUIET' End If InsertBool = 0 Then Do Corrector = 0 A = StartFrame - ExtFirst Call GetIFF() IFF2 = IFF A = StartFrame Call GetIFF() 'Rename Ram:ExtWork/' || IFF || ' Ram:ExtWork/' || IFF2 || ' QUIET' Do AA = (StartFrame - ExtFirst) to (StartFrame - 1) A = (AA + 1) Call GetIFF() IFF2 = IFF A = AA Call GetIFF() Finder = Exists(AnimPathName || IFF) If Finder = 1 Then Do Address 'OpalPaint_Rexx' Okay 'FATAL ERROR! I cannot copy ' || IFF || ' to ' || AnimPathName || '\nbecause a ' || IFF || ' already exists there!\n\nExiting...' Exit End If AA < 1 Then Corrector = Corrector + 1 If Finder = 0 & AA > 0 Then Do 'Copy Ram:ExtWork/' || IFF || ' ' || AnimPathName || ' Quiet' End 'Rename Ram:ExtWork/' || IFF || ' Ram:ExtWork/' || IFF2 || ' Quiet' End 'Delete Ram:ExtWork/' || IFF2 || ' QUIET' End StartFrame = StartFrame + (ExtFirst - Corrector) If InsertBool = 1 Then EndFrame = EndFrame + ExtFirst Address 'OpalPaint_Rexx' Menu DISABLE Return DoLastExtend: Address 'OpalPaint_Rexx' Menu ENABLE DisplayStatus 'Extending 2' Address Command A = EndFrame Call GetIFF() 'Copy ' || AnimPathName || IFF || ' Ram:ExtWork QUIET' Do AA = EndFrame to (EndFrame + (ExtLast - 1)) A = (AA + 1) Call GetIFF() IFF2 = IFF A = AA Call GetIFF() Address Command 'Rename Ram:ExtWork/' || IFF || ' Ram:ExtWork/' || IFF2 || ' QUIET' 'Copy Ram:ExtWork/' || IFF2 || ' ' || AnimPathName || ' QUIET' End Address 'OpalPaint_Rexx' Menu DISABLE Return DeleteExtWorkDrawer: Address Command 'Delete Ram:ExtWork ALL QUIET' Return AllDone: Address 'OpalPaint_Rexx' ReqBuild '330 86 "Operation Complete!"' AddBox '5 25 319 28' If ExtFirst > 0 Then AddText 'CenterX 30 "Added ' || (ExtFirst - Corrector) || ' to beginning of animation."' If ExtLast > 0 Then AddText 'CenterX 40 "Added ' || ExtLast || ' to end of animation."' If ExtFirst = 0 & ExtLast = 0 Then AddText 'CenterX 35 "No changes were made."' AddGadget 'Button OkayButton CenterX -5 Medium "Quit"' Request NoOK NoCancel Return